perm filename XPART.DON[UP,DOC]2 blob
sn#354913 filedate 1978-05-15 generic text, type T, neo UTF8
XPART processes an XGP file to determine which characters it uses in each
font, and sets up partial-font-loading switches in the file. This lets the
spooler make better use of the 64K available in the font compiler, such that
documents which use several large fonts may be successfully spooled.
XPART also accepts a list of pages (in the same form as that accepted by the
XSPOOL command, e.g. "(10:20,30,50:*)"), in which case only those pages are
retained. Partial font-loading is based on the characters used in the pages
selected. Pages need not be in ascending order, though of course it is more
efficient if they are. Note that, if only a few pages are to be spooled from
a large XGP file, processing the file with XPART to get the selected pages
will result in a more accurate (higher) priority in the spooler's queue.
XPART takes input in the form {output←}input{(pages)}. If no extension is
given on the input file name, both null and .XGP are tried (in that order).
The default for output is to use the same name as for input, but on device
dsk and the local (alias) ppn. If no device or ppn is specified on input,
this of course overwrites the input file. This is not detrimental unless the
page-selection feature is being used, in which case pages not selected are
lost "forever". (XPART will require confirmation before allowing this.) The
command line may follow the Run command (R XPART;FOO←BAR), if no command is
given the program will prompt for one. (There may eventually be a monitor
command such that one can say XPART FOO←BAR.)
The file may already have partial-font-loading switches in it; if so, they
will be discarded (except, of course, for the font names). It is assumed
that the file is in /XGP format with no E directory, that is, that the first
page contains XGP switches (possibly including a /USETI switch). (These
assumptions are to some degree checked by the program.)
XPART refuses to create a partial-loading command for font #0; this font is
always loaded in full. This is because, if font #0 is partially loaded, the
title page and/or headings (if requested) may be missing some characters.
Some sample commands:
R XPART; FOO←BAR
Process BAR, creating output file FOO. If no file BAR exists, look for
BAR.XGP; if found, use it and output to FOO.XGP.
R XPART; FOO.←BAR
Same as the first example, but output is to FOO, not FOO.XGP, regardless of
whether the input is from BAR or BAR.XGP.
R XPART; BAR.BAZ[1,ZOT]
Process BAR.BAZ[1,ZOT], producing BAR.BAZ on the local directory.
R XPART; BIGGIE
Process BIGGIE (or BIGGIE.XGP); the new file with the partial font-loading
switches will replace the original file. (If an error of any sort is
detected, the original file will not be replaced.)
R XPART; BIGGIE(40:*)
Same as the preceding example, except only pages 40 through to the end of the
file are retained. XPART will require confirmation before doing this, since
pages 1 to 39 of BIGGIE will be lost in the process.
R XPART; ←BIGGIE(40:*)
Same as the preceding example, except that confirmation will not be required
(the "←" indicates an explicit, albeit default, output file name).
The next example is rather complex; it demonstrates some of the defaults
available in the command parser. It is assumed that the command is given by
someone logged in as [FOO,BAR] and aliased to [BAZ,ZOT].
R XPART; TEMP[1, ← UDP:PAPER.ALL[PAP (100:109,1,1)
Process UDP:PAPER.ALL[PAP,ZOT], selecting pages 100-109 and two copies of page
1 (the first actual page of output; the XGP switches at the front of the file
are not considered to be a "page") and putting them in DSK:TEMP.ALL[1,BAR].
The comma in the first ppn indicates that BAR (the login prog) should be used
instead of ZOT (the alias prog).
Comments and questions should be sent to DON.